home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / rsh.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  109 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10245);
  10.  script_version ("$Revision: 1.16 $");
  11.  script_cve_id("CAN-1999-0651");
  12.  
  13.  name["english"] = "rsh";
  14.  name["francais"] = "rsh";
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. The rsh service is running.
  19.  
  20. This service is dangerous in the sense that it is not ciphered - that is, o
  21. everyone can sniff the data that passes between the rsh client and the 
  22. rsh server. This includes logins and passwords.
  23.  
  24. Also, it may allow poorly authenticated logins without passwords. If the 
  25. host is vulnerable to TCP sequence number guessing (from any network)
  26. or IP spoofing (including ARP hijacking on a local network) then it may 
  27. be possible to bypass authentication.
  28.  
  29. Finally, rsh is an easy way to turn file-write access into full logins 
  30. through the .rhosts or rhosts.equiv files. It is a built-in backdoor
  31. into a system that an attacker will make easy use of.
  32.  
  33. You should disable this service and use ssh instead.
  34.  
  35. Solution : Comment out the 'rsh' line in /etc/inetd.conf.
  36. Risk factor : Low";
  37.  
  38.  
  39.  desc["francais"] = "Le service rsh tourne.
  40. Ce service est dangereux dans le sens o∙ la communication
  41. entre le serveur et le client n'est pas chiffrΘe, 
  42. ce qui permet α n'importe qui de sniffer les donnΘes
  43. qui passent entre le client et le serveur - ce qui
  44. inclut les noms d'utilisateurs et leur mot de passe.
  45.  
  46. Vous devriez dΘsactiver ce service et utiliser
  47. ssh α la place.
  48.  
  49. Solution : dΘsactivez ce service dans /etc/inetd.conf.
  50.  
  51. Facteur de risque : Faible";
  52.  
  53.  
  54.  script_description(english:desc["english"], francais:desc["francais"]);
  55.  
  56.  summary["english"] = "Checks for the presence of rsh";
  57.  summary["francais"] = "VΘrifie la prΘsence du service rsh";
  58.  
  59.  script_summary(english:summary["english"], francais:summary["francais"]);
  60.  
  61.  script_category(ACT_GATHER_INFO);
  62.  
  63.  
  64.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  65.         francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  66.  family["english"] = "Useless services";
  67.  family["francais"] = "Services inutiles";
  68.  script_family(english:family["english"], francais:family["francais"]);
  69.  script_dependencie("find_service.nes");
  70.  script_require_ports("Services/rsh", 514);
  71.  exit(0);
  72. }
  73.  
  74. #
  75. # The script code starts here
  76. #
  77. include("misc_func.inc");
  78.  
  79. port = get_kb_item("Services/rsh");
  80. if(!port)port = 514;
  81.  
  82. if(get_port_state(port))
  83. {
  84.  soc = open_priv_sock_tcp(dport:port);
  85.  if(soc)
  86.  {
  87.   s1 = raw_string(0);
  88.   s2 = "root" + raw_string(0) + "root" + raw_string(0) + "xterm/38400" + raw_string(0);
  89.   send(socket:soc, data:s1);
  90.   send(socket:soc, data:s2);
  91.   a = recv(socket:soc, length:1024);
  92.   if(strlen(a)){
  93.     set_kb_item(name:"rsh/active", value:TRUE);
  94.     register_service(port: port, proto: "rsh");
  95.     security_warning(port);
  96.   }
  97.   else {
  98.     a = recv(socket:soc, length:1024);
  99.     if(strlen(a))
  100.     {
  101.      set_kb_item(name:"rsh/active", value:TRUE);
  102.      security_warning(port);
  103.      register_service(port: port, proto: "rsh");
  104.     }
  105.   }
  106.   close(soc);
  107.  }
  108. }
  109.